Synchronous programming